﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using ComesEnCasa.Entidades;
using ComesEnCasa.Negocio;

namespace ComesEnCasa.Web.Controllers
{
    public partial class EntidadController : Controller
    {
        public ActionResult Index()
        {
            var entidades = EntidadNegocio.Listado();
            return View(entidades);
        }

        public ActionResult Crear()
        {
            ViewBag.Operacion = "Crear";
            return View(new Entidad());
        }

        [HttpPost]
        public ActionResult Crear(Entidad entidad)
        {
            if (ModelState.IsValid)
            {
                var seGuardo = EntidadNegocio.Guardar(entidad);
                if (seGuardo)
                {
                    return RedirectToAction("Index");
                }
            }
            ViewBag.Operacion = "Crear";
            return View(entidad);
        }

        public ActionResult Editar(int id)
        {
            ViewBag.Operacion = "Editar";
            var entidad = EntidadNegocio.Obtener(id);
            return View("Crear", entidad);
        }

        [HttpPost]
        public ActionResult Editar(Entidad entidad)
        {
            if (ModelState.IsValid)
            {
                var seGuardo = EntidadNegocio.Guardar(entidad);
                if (seGuardo)
                {
                    return RedirectToAction("Index");
                }
            }
            ViewBag.Operacion = "Editar";
            return View("Crear", entidad);
        }

        public ActionResult EjemploAjax()
        {
            return View(2);
        }

        public ActionResult Detalle(int entidadId)
        {
            var entidad = EntidadNegocio.Obtener(entidadId);
            return PartialView(entidad);
        }

        [HttpPost]
        public ActionResult UploadImagen(string qqFile, int entidadId)
        {
            var imagen = new ImagenEntidad(){ entidadId = entidadId};


            imagen.foto  = new byte[Request.InputStream.Length];
            Request.InputStream.Read(imagen.foto, 0, Convert.ToInt32(Request.InputStream.Length));

            EntidadNegocio.GuardarImagen(imagen);

            return Json(new { success = true });
        }

    }
}
